#include <stdio.h>

void main()
{
	printf("Hello,World\n");
}

#if 0

void main，则main不会明确返回任何值。不过在main退出时，EAX还会存有数据，会被传递给exit，成为后者的输入参数。通常EAX的值会是被调
用方函数残留的确定数据，所以void类型函数的返回值，也就是主函数退出代码往往属于伪随机数(pseudorandom)。

#!/bin/sh
./hello_world
echo $?

./tst.sh
Hello,world!
14

这个14就是puts输出的字符的总数。

#endif

#if 0
/*
 * intel
 */
0000000000001149 <main>:
    1149:	f3 0f 1e fa          	endbr64 
    114d:	55                   	push   %rbp
    114e:	48 89 e5             	mov    %rsp,%rbp
    1151:	48 8d 3d ac 0e 00 00 	lea    0xeac(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    1158:	e8 f3 fe ff ff       	callq  1050 <puts@plt>
    115d:	90                   	nop
    115e:	5d                   	pop    %rbp
    115f:	c3                   	retq   

/*
 * arm
 */
000000000040055c <main>:
  40055c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400560:	910003fd 	mov	x29, sp
  400564:	90000000 	adrp	x0, 400000 <_init-0x3e8>
  400568:	9118c000 	add	x0, x0, #0x630
  40056c:	97ffffb9 	bl	400450 <puts@plt>
  400570:	d503201f 	nop
  400574:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400578:	d65f03c0 	ret
  40057c:	00000000 	.inst	0x00000000 ; undefined


#endif

